﻿
/////////////////////////////////////////////////////////////////////////////////
///              ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO                   ///
///                        PROYECTO INTEGRADOR III                            /// 
///                         PROYECTO ACOSIS 2009                              /// 
/// ------------------------------------------------------------------------- ///  
///              **********GRUPO DE DESARROLLADORES**********                 ///
///                 ************ESTRELLA ROJA*************                    /// 
///---------------------------------------------------------------------------///
///                                                         RIOBAMBA-ECUADOR  ///
///---------------------------------------------------------------------------///
///            FORMULARIO PARA MODIFICAR LAS UNIDADES ADQUISITIVAS            ///
/////////////////////////////////////////////////////////////////////////////////


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//Formulario para la modificacion de Unidades adquisitivas
namespace Aplicacion.Formularios
{
    public partial class frmModificarUnidades : Form
    {
        private string varConexion;//Variable donde se encuentra la direccion de la coneccion
        private bool varBandera = true;//Variable que inicializa el control de los espacios
        private Negocios.ComponeteNegocios auxCom = new Negocios.ComponeteNegocios();

        public frmModificarUnidades()
        {
            InitializeComponent();
        }

        public frmModificarUnidades(string Com)///inicializador de las variables de ingreso
        {
            InitializeComponent();
            varConexion = Com;
        }

        private void frmModificarUnidades_Load(object sender, EventArgs e)
        {
            metMostrarCentros();//Inicio llamado a los departamentos registrados
            btnActualizarMUn.Enabled = false;
            btnEliminarMUn.Enabled = false;
        }


        private void metConfiguracionActualizarDep()
        {
            //Metodo de configuracion de departamento
            auxCom.metActualizarDepartamento(varConexion, txtCodigoMUn.Text, cmbNombreMUn.Text, txtRepresentanteMUn.Text, txtTelefonoMUn.Text, txtUbicacionMUn.Text);
            this.coleccionDeDatos1.sp_MostrarDepParaModoficacion.Clear();
        }  

        private void btnGuardarDE_Click(object sender, EventArgs e)
        {
            metConfiguracionActualizarDep();//Llamdo Metodo de configuracion de departamento
            btnEliminarMUn.Enabled = false;
            btnActualizarMUn.Enabled = false;
        }
        private void metMostrarCentros()
        {
            //Mostrar todos los departamentos registrados
            auxCom.metMostrarCentrosUnicos(varConexion,this.coleccionDeDatos1);
        }

        private void btnEliminarDe_Click(object sender, EventArgs e)
        {
            //Eliminar el departamento actual
            if (MessageBox.Show("¿Desea eliminar esta unidad adquisitiva?", "Atencion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                auxCom.metEliminarDepartamento(varConexion,txtCodigoMUn.Text);
                this.coleccionDeDatos1.sp_MostrarDepParaModoficacion.Clear();
                btnEliminarMUn.Enabled = false;
                btnActualizarMUn.Enabled = false;
            }
        }

        private void textTelefonoDEAC_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Metodo de las clases locales
            Aplicacion.clsControles.clsControles auxFrm = new Aplicacion.clsControles.clsControles();
            varBandera = auxFrm.metSoloNumeros(e, varBandera);//Controla que solo ingrese numeros
        }

        private void comNombreDEAC_KeyPress(object sender, KeyPressEventArgs e)
        {
            Aplicacion.clsControles.clsControles auxFrm = new Aplicacion.clsControles.clsControles();
            varBandera = auxFrm.metSoloLetras(e, varBandera);//controla que solo ingrese letras
            varBandera = auxFrm.metPrecionarEspacio(e, varBandera);//Controla el ingreso de espacios
            //Estos metodo se encuentran en la clase de acceso locales
        }

        private void textUbicacionDEAC_KeyPress(object sender, KeyPressEventArgs e)
        {
            Aplicacion.clsControles.clsControles auxFrm = new Aplicacion.clsControles.clsControles();
            varBandera = auxFrm.metControlarEspacios(e, varBandera);//Controla que el ingreso sea de numeros o de letras
            varBandera = auxFrm.metPrecionarEspacio(e, varBandera);//Control de espacios para que ingresen mas de un espacio
        }

        private void comNombreDEAC_Validated(object sender, EventArgs e)
        {
            cmbNombreMUn.Text = cmbNombreMUn.Text.ToUpper();//Combertir los datos ingresados en mayusculas
        }
           
        //Mostar los centros de costos solo asignados a una determinada unidad
        private void cmbNombreCentro_SelectedValueChanged(object sender, EventArgs e)
        {
                 this.coleccionDeDatos1.sp_MostrarDepParaModoficacion.Clear();
                 auxCom.metModificarUnidad(varConexion, cmbNombreCentro.Text, this.coleccionDeDatos1);
                 btnEliminarMUn.Enabled = true;
                 metControl();//Llamado al control de ingresos
                 metControlEliminar();
        }

        private void cmbNombreCentro_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = true;//Se prohibe escribir el los comboBox que no se puede ingresar
        }
        /// <summary>
        /// ///////////////////////////////////////////////////////////////////
        /// </summary>
        /// Control de espacios y de accesos
        private void metControl()
        {
            if (txtRepresentanteMUn.Text.Length > 4 && txtTelefonoMUn.Text.Length > 4 && cmbNombreMUn.Text.Length > 4 && txtUbicacionMUn.Text.Length > 4)
                btnActualizarMUn.Enabled = true;
            else
                btnActualizarMUn.Enabled = false;
        }
        //Control para la eliminacion de Centros
        private void metControlEliminar()
        {
            if (txtCodigoMUn.Text.Length > 5)
                btnEliminarMUn.Enabled = true;
            else
                btnEliminarMUn.Enabled = false;
        }

        private void cmbNombreMUn_KeyUp(object sender, KeyEventArgs e)
        {
            metControl();
        }
    }
}
